class Solution {
public:
    int maximumUniqueSubarray(vector<int>& nums) {
        int ans=0,hash[100010]={0},sum=0;
        for(int left=0,right=0;right<nums.size();++right)
        {
            ++hash[nums[right]];
            sum+=nums[right];
            while(left<right&&hash[nums[right]]>1)
            {
                sum-=nums[left];
                hash[nums[left++]]--;
            }
            ans=max(ans,sum);
        }
        return ans;
    }
};
